home *** CD-ROM | disk | FTP | other *** search
/ IRIX Patches 1995 March / SGI IRIX Patches 1995 Mar.iso / relnotes / patchSG0000186 / ch1.z / ch1
Text File  |  1995-03-10  |  12KB  |  331 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        1.  _P_a_t_c_h__S_G_0_0_0_0_1_8_6__R_e_l_e_a_s_e__N_o_t_e
  9.  
  10.        This release note describes patch SG0000186 to IRIX 5.3.
  11.  
  12.        1.1  _S_u_p_p_o_r_t_e_d__H_a_r_d_w_a_r_e__P_l_a_t_f_o_r_m_s
  13.  
  14.        This patch contains bug fixes for the following machine
  15.        types.  The software cannot be installed on other
  16.        configurations:
  17.  
  18.           +o Challenge and Onyx with R4400 processors
  19.  
  20.           +o Crimson (4D/510)
  21.  
  22.           +o PowerSeries (4D/120, 4D/2xx, 4D/3xx and 4D/4xx)
  23.  
  24.        1.2  _S_u_p_p_o_r_t_e_d__S_o_f_t_w_a_r_e__P_l_a_t_f_o_r_m_s
  25.  
  26.        This patch contains bug fixes for IRIX 5.3.  The software
  27.        cannot be installed on other configurations.
  28.  
  29.        1.3  _B_u_g_s__F_i_x_e_d__b_y__P_a_t_c_h__S_G_0_0_0_0_1_8_6
  30.  
  31.        This patch contains fixes for the following bugs in IRIX
  32.        5.3.  Bug numbers from Silicon Graphics bug tracking system
  33.        are included for reference.
  34.  
  35.           +o It is possible for the system to loop forever printing
  36.             the message "CPU x WARNING:tlbmiss: invalid badvaddr
  37.             XXX". This could happen if there is an invalid
  38.             reference in the kernel to kernel heap space. When this
  39.             situation arose the system would have to be forcibly
  40.             rebooted. The kernel has now been corrected to panic
  41.             whenever such a situation arises so that the errant
  42.             code can be isolated (bugs 189291, 251742).
  43.  
  44.           +o Lost clock interrupts on Power Series machines cause
  45.             time to drift under a heavy system load. This patch
  46.             provides a temporary workaround to the problem on
  47.             machines equipped with an IO3 board. Machines which do
  48.             not have an IO3 board installed will be uneffected by
  49.             this patch (bug 192233).
  50.  
  51.           +o On large memory systems, the kernel previously had no
  52.             throttle mechanism on the use of kernel virtual address
  53.             space.  Kernel virtual address space is used to map the
  54.             kernel and its control data structures. Sometimes, EFS,
  55.             NFS, raw I/O and other operations could cause the O/S
  56.             to consume too much kernel virtual space to map file
  57.             systems buffers. A new kernel variable "bmappedpct",
  58.             dynamically tuneable, has been added to limit the % of
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.             "syssegsz" kernel virtual space allowed to be used by
  75.             the file system buffers. When that value is exceeded,
  76.             the system actively attempts to reclaim virtual address
  77.             space. As shipped, this patch sets this value at 50%.
  78.             Setting this tunable variable to "100" (or 100%)
  79.             effectively disables this new control.  In addition,
  80.             this patch increases the maximum amount of kernel
  81.             virtual space a 32-bit Challenge system can allocate
  82.             from 256MB to 384MB.  The default formula, which is
  83.             used when the tuneable parameter "syssegsz" is 0, is
  84.             still 1/2 the system's memory size (bug 205422).
  85.  
  86.           +o Two optimizations were made to the cache flushing code
  87.             in this patch. One change applies to all platforms and
  88.             pertains to situations where user code pages are
  89.             faulted in. In this scenario it is necessary to flush
  90.             the code page out of all the caches in order to
  91.             guarantee that stale code is not executed. This change
  92.             ensures that once the code page has been flushed and
  93.             then executed, it will remain in the caches if it is
  94.             faulted in again.  The second change applies to
  95.             Challenge systems. For these systems it is necessary
  96.             for all cpus to occasionally flush all of their caches
  97.             in order to avoid virtual coherency exceptions on
  98.             kernel stack pages. What this change does is to greatly
  99.             reduce the frequency of this event by ensuring that all
  100.             free pages in the system are marked as clean in the
  101.             caches (bug 248890).
  102.  
  103.           +o This patch fixes a problem which arose when programs
  104.             were execed by pre-loading all their text. In such a
  105.             situation the lack of coherency between the instruction
  106.             and data caches was not accounted for and the results
  107.             were not reliable. This now works correctly (bug
  108.             249652).
  109.  
  110.           +o A race condition exists between a process exiting and
  111.             looking at that same process's credentials using the
  112.             /proc interface. The /proc interface attempts to look
  113.             at process's credentials after releasing a lock on the
  114.             process entry. If the process exits within a few
  115.             instructions the lock being released, then the /proc
  116.             support can use an invalid pointer and panic the
  117.             system. The solution in this patch holds the process
  118.             entry locked until all credential information is copied
  119.             (bug 249685).
  120.  
  121.           +o The logical volume driver has a race condition between
  122.             the "open" and "ioctl" entry points. This patch
  123.             includes a fix that serializes opens and ioctls on
  124.             logical volumes. This fixes problems encountered by
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.             running multiple mklv commands on the same LV at the
  141.             same time (bug 250334).
  142.  
  143.           +o On an MP system, a process can change the priority of
  144.             another process which could be running on another cpu.
  145.             This fix will allow it to do so without running into
  146.             any kernel stack extension page mismatches (bug
  147.             252308).
  148.  
  149.           +o Doing frequent raw I/O operations to buffers scattered
  150.             throughout large data areas (regions in excess of 32
  151.             Meg) can cause large numbers of tfaults in certain
  152.             circumstances.  These tfaults have no effect on the
  153.             correctness of the system, but can reduce overall
  154.             performance if they occur too frequently.  (The tfault
  155.             rate can be observed with osview(1).)  This fix
  156.             eliminates the excessive tfaults (bug 253861).
  157.  
  158.           +o Kernel multi-access, single-update locks are fixed in
  159.             this patch to work properly for single-processor
  160.             systems (bug 254554).
  161.  
  162.           +o A bug in the getdents system call would cause a system
  163.             crash if a zero-length request was passed to getdents.
  164.             This case is now fixed to return EINVAL (bug 255067).
  165.  
  166.           +o Previously, when a region of user memory grew large
  167.             enough to require a multi-level chunk tree, and when
  168.             the user program did a "shrink" via sbreak, and when
  169.             the shrink happened to occur on certain boundaries that
  170.             are significant to the anon chunk management code, it
  171.             was possible for the process to hang or for the system
  172.             to crash.  This now works correctly (bug 255268).
  173.  
  174.           +o There is a small race condition that can cause the
  175.             kernel to get a segmentation violation with a NULL
  176.             pointer.  This can happen in special cases that can
  177.             occur when the following conditions simultaneously
  178.             happen: (1) the kernel tries to page out pages from a
  179.             process's data or bss, (2) this is after the data has
  180.             been modified by the debugger (or in other cases that
  181.             cause the data or bss to be shared between multiple
  182.             processes), and (3) the process then shrinks its bss
  183.             segment with either the brk or sbrk system calls while
  184.             the paging I/O is in progress for the pages being
  185.             affected by the brk or sbrk call.  This now works
  186.             correctly (bug 255378).
  187.  
  188.           +o A special case file-system buffer cache bug could
  189.             produce an incorrect buffer page list.  This now works
  190.             correctly (bug 257730).
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.        1.4  _S_u_b_s_y_s_t_e_m_s__I_n_c_l_u_d_e_d__i_n__P_a_t_c_h__S_G_0_0_0_0_1_8_6
  207.  
  208.        This patch release includes these subsystems:
  209.  
  210.           +o patchSG0000186.eoe1_sw.unix
  211.  
  212.  
  213.        1.5  _I_n_s_t_a_l_l_a_t_i_o_n__I_n_s_t_r_u_c_t_i_o_n_s
  214.  
  215.        Because you want to install only the patches for problems
  216.        you have encountered, patch software is not installed by
  217.        default. After reading the descriptions of the bugs fixed in
  218.        this patch (see Section 1.3), determine the patches that
  219.        meet your specific needs.
  220.  
  221.        If, after reading Sections 1.1 and 1.2 of these release
  222.        notes, you are unsure whether your hardware and software
  223.        meet the requirements for installing a particular patch, run
  224.        _i_n_s_t.
  225.  
  226.        Patch software is installed like any other Silicon Graphics
  227.        software product.  Follow the instructions in your _S_o_f_t_w_a_r_e
  228.        _I_n_s_t_a_l_l_a_t_i_o_n _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e to bring up the miniroot
  229.        form of the software installation tools.
  230.  
  231.        Follow these steps to select a patch for installation:
  232.  
  233.          1.  At the Inst>prompt, type
  234.  
  235.              iiiinnnnssssttttaaaallllllll ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  236.  
  237.              where _x_x_x_x_x_x_x is the patch number.
  238.  
  239.          2.  Select the desired patches for installation.
  240.  
  241.          3.  Initiate the installation sequence. Type
  242.  
  243.              IIIInnnnsssstttt>>>> ggggoooo
  244.  
  245.          4.  You may find that two patches have been marked as
  246.              incompatible.  If this occurs, you must deselect one
  247.              of the patches.
  248.  
  249.              IIIInnnnsssstttt>>>> kkkkeeeeeeeepppp ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  250.  
  251.              where _x_x_x_x_x_x_x is the patch number.
  252.  
  253.          5.  After completing the installation process, exit the
  254.              _i_n_s_t program by typing
  255.  
  256.              IIIInnnnsssstttt>>>> qqqquuuuiiiitttt
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.  
  273.        To remove a patch, use the _v_e_r_s_i_o_n_s _r_e_m_o_v_e command as you
  274.        would for any other software subsystem.  The removal process
  275.        reinstates the original version of software unless you have
  276.        specifically removed the patch history from your system.
  277.  
  278.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  279.  
  280.        where _x_x_x_x_x_x_x is the patch number.
  281.  
  282.        To keep a patch but increase your disk space, use the
  283.        _v_e_r_s_i_o_n_s _r_e_m_o_v_e_h_i_s_t command to remove the patch history.
  284.  
  285.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeeehhhhiiiisssstttt ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  286.  
  287.        where _x_x_x_x_x_x_x is the patch number.
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.